1. Field of the Invention
The present invention relates generally to mass storage device control structures and methods in a dynamically mapped mass storage device and more specifically to structures and methods within the controller of a dynamically mapped mass storage device, such as a disk drive, operable to recover from write fault errors of the dynamically mapped storage device.
2. Discussion of Related Art
A common example of a mass storage device is a disk drive having one or more rotating recordable media surfaces each with a corresponding read/write head for writing information thereon and for reading back previously written information. As used herein, “disk drive” is intended to represent such devices with rotating storage media and corresponding read/write heads as well as other similar, exemplary mass storage devices. Further, “recordable media”, “recordable media surface” and “persistent media” are all intended as synonymous and represent one or more media surfaces on which information may be recorded and read back typically using optical or magnetic encoding and modulation techniques and structures.
It is generally known in the disk drive arts that fixed sized units of data are physically stored about the circumference of concentric tracks laid out on a magnetic or optical persistent storage media. These fixed size units of data are often referred to as “blocks” or “sectors”. A particular block or sector physically located on the rotating storage media may be identified by its cylinder or track number and its sector or block number within that track. In addition, where a disk drive includes multiple storage media services each with an independent R/W head, a particular head or surface number may identify the surface on which a particular physical block or sector is located. Such physical addresses are often referred to as “CHS” (an acronym for cylinder, head, and sector).
Most present-day disk drives permit a logical block address to be utilized by the host system or device rather than a specific CHS designation to identify a particular block or sector to be accessed. Such a logical address is typically a sequential range of logical block numbers from zero through N where N is the maximum number of physical sectors or blocks available on the disk drive storage media. The host may therefore address or identify a particular physical block by its logical block address (“LBA”) rather than by the more complex and cumbersome CHS designation. The disk drive (specifically a disk drive controller component of the disk drive) then translates or maps a provided logical block address (LBA) into a corresponding physical location (typically, a CHS address designation). Further, such logical addressing permits the disk drive controller to transparently redirect access for a particular physical block to an alternate or spare physical block where the original physical block has been damaged or is otherwise inaccessible. The disk drive controller merely translates the supplied LBA to a different physical block of the disk storage media.
As presently practiced in the art, physical sectors or blocks on the disk drive are all the same size as measured in number of bytes. For example, present disk drives often utilize a block or sector size of either 512 or 1024 bytes. The particular physical block or sector size may be any suitable size selected for a particular disk drive application in accordance with performance and storage capacity design choice tradeoffs. However, as presently known in the art, physical sectors on a disk drive are all a common, designated size. The logical blocks utilized by a host device in addressing storage of the disk drive are also a fixed size. Though the fixed size of a logical block may be different than the fixed size of the physical disk blocks, as presently practiced a simple arithmetic computation may be used because the physical block size and logical block size are typically integral multiples/fractions of one another. In other words, as presently practiced, a logical block size is typically an integral multiple of the physical block or sector size. Such a strict arithmetic relationship between the logical block size and physical block size precludes a number of possible features and enhancements within a disk drive.
The Parent discloses methods and structures for a dynamically mapped storage device in which mapping structures and methods hide the user from any knowledge of the actual location of user supplied data by dynamically mapping user supplied logical blocks to physical disk blocks wherein the size of a user supplied logical block is independent of the size of the one or more corresponding physical disk blocks used to store the user supplied logical block. Typically the logical block size is fixed while the physical disk block size may vary since the mapping is completely localized within the storage device.
Thus the Parent provides improved logical to physical mapping for blocks of data within a disk drive of such that the logical block size defined by an attached host system may be independent of the physical block size used within the disk drive for storage of information.
As a disk drive writes data to the recordable media, write fault errors may occur in instances where data is not correctly written to disk. In present disk drives, when the write head deviates too far from the track center, the write process is aborted and the write head attempts to re-write the data to the same physical location on subsequent revolutions. If the data is written too far from the center of the track, it may be unreadable during subsequent read processes. The re-writing process requires a minimum of one revolution of time, which impacts the performance of the disk drive. In some cases where the write head deviates too far from the track center data on adjacent tracks written earlier in time may be overwritten and destroyed. Since the adjacent track is likely not saved in cache memory of the disk drive and may no longer be capable of being read, the overwritten data may not be recoverable.
It remains an ongoing problem in all storage devices to minimize or eliminate the effects of off-track position errors. Since present day disk drives are likely to receive a random sequence of write requests from an attached host located at various logical block addresses and positions on the disk drive, an off-track position error may likely destroy data that was not recently written by the disk drive. Thus, the data may be unrecoverable. Further, off-track position errors result in significant performance losses of the disk drive. To minimize off-track position errors, position sampling equipment with high sampling rates are often used to determine immediately whether the write head is off-track. This adds complexity to the disk drive, as well as requiring additional space on the recordable media for the servo synchronization information used for sampling, reducing the overall capacity of the disk drive.